The three types are Dedicated Workers (single tab), Shared Workers (multiple tabs/same origin), and Service Workers (network proxy/caching).
Dedicated Worker: Attached to a single script (one tab). Terminates when the tab closes.
Shared Worker: Accessible from multiple tabs/windows on the same origin. Requires unique name.
Service Worker: Runs even when page is closed, intercepts network requests, enables offline capabilities and push notifications.